#pragma once

// Generic game object class. Inherits from game object.
// Contains the type enum for the current type
// and is kept within a SectorMap. Doesn't do anything
// special, but is here to be explicit about it
#include "GameObject.h"

#define ENEMY_STARTING_ENERGY 200

class Generic : public GameObject
{
public:
	Generic(void);
	~Generic(void);
	 
	void Update(float dt);

private:
};

// CombatUnit class, contains an energy value
// which is used for their health and attacks
// only renders in the sector map. Also has
// a combat mode which it renders to the screen
class CombatUnit : public GameObject
{
public:
	CombatUnit(void);
	~CombatUnit(void);

	void Update(float dt);

	void SetEnergy(int energy) {mEnergy = energy;};
	int GetEnergy(void) {return mEnergy;};

	void EnableCombatMode(void) {mCombatEnabled = true;};
	void DisableCombatMode(void) {mCombatEnabled = false;};
	bool CombatEnabled(void) {return mCombatEnabled;}

private:
	int mEnergy;
	bool mCombatEnabled;
};